﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Gnosis.Babel
{
    public interface ISource
        : IExpression
    {
        IInteger LastInsertedId { get; }
        //IDateTime CurrentDateTime { get; }

        ISource As(string alias);
        ISource CrossJoin(ISource source);
        ISource InnerJoin(ISource source);
        ISource FullOuterJoin(ISource source);
        ISource LeftOuterJoin(ISource source);
        ISource RightOuterJoin(ISource source);
        ISource On(IPredicate predicate);
    }
}
